It is generally desirable to minimize the amount of memory storage capacity required to store a given number of characters representing text. This is particularly important in applications using so-called "one chip" microcomputers in which a microprocessor and its associated memories and input-output devices are integrated to form a self-contained computer on a chip. Since memory storage space is limited in one-chip micro-computers, the storage efficiency is of greater importance than in microprocessor systems employing external memories which are easily expandable.
The efficiency of storage of text characters is a function of the number of unique characters to be stored, the code used to represent the characters and the memory organization. As an example, assume that text is encoded using the standard 7-bit ASCII (American Standard Code for Information Interchange) code format. This format is commonly used by input/output (I/O) devices such as keyboards, television display character generators, printers and the like. This 7-bit code (8-bits with parity or a control bit) can uniquely represent 128 individual characters. As used herein, "character" includes letters, punctuation, numbers, symbols, control codes the like associated with textual material. If a memory is organized to provide 8-bits (one byte) of storage per address location and text is stored in the ASCII (7-bit) format, then the efficiency would be only 50%. This results because an 8-bit byte can uniquely represent 256 possible states whereas only 128 states are used in the 7-bit ASCII code format.
Code formats requiring fewer than 7-bits to represent text are known. For example, in the 5-bit Baudot code used in some teleprinter transmission systems characters are divided into two sets and sequentially transmitted "shift" characters are used to select the appropriate set for printing. The principle is much the same as that provided by the shift keys of an ordinary typewriter for reducing the number of keys required. Specifically, a transmission of letters is preceded by the letters shift code 11111 (binary) and a transmission of figures is preceded by a figures shift code 11011 (binary). The shift codes are stored in a printer for selecting letters or figures for printing.
The 5-bit Baudot code has the capability of transmitting 60 unique characters. This results because 5-bits define 32 unique states. Two codes are "dedicated", so to speak, to the shift up (LETTERS, 11111 in binary) and shift down (FIGURES, 11011 in binary) codes. This leaves 30 states (32-2) remaining to represent text for letters and (because of the shift) another 30 states to represent figures for a total of 60 characters.
Although only 5-bits are required to transmit 60 characters, the Baudot code is even less efficient than ASCII when stored in an 8-bit organized memory since three bits per byte are unused. The efficiency is at best only about 23% since only 60 of 256 possible states are used and the efficiency decreases with the number of shift codes that are included in the text.